More Related Content Similar to [DynamoDB][AmazonES]メディア向けデータストアサービスをリリースして直面したツラミ ~X-Tech後日談~ (20) [DynamoDB][AmazonES]メディア向けデータストアサービスをリリースして直面したツラミ ~X-Tech後日談~2. Self Introduction
村田 靖拓(むらた やすひろ)
l 2014/10 新卒でFutureへ入社
l Technology Innovation Group所属
l フロントエンド畑育ち(OSS - Urushi)
l AWSを利用したビッグデータ処理基盤構築(モビリティIoT, IIoT)
l DynamoDB, Elasticsearchを使ったデータストアサービス構築
l 最近はGCPを使ったIoTプラットフォーム構築
l 趣味はテニスとドラム 運動量増やしたいのでボルダリングを検討中
l 五反田で飲み歩くマン おすすめ店のストックは13軒あります。日本酒寄りです。
l JAWS-UG登壇2回目です!お世話になっておりますmm
@famipapamart
16. Cross Region Replicationの話(3/5)
切り戻しの考え方
• 東京リージョン壊滅を想定
• 実際は「DynamoDBだけダウン」等が起こりうる現実的なラインだろうが、Disasterパターンごとに復
旧シナリオを考えるのはなかなかキツい
• 切り戻しもDynamoDBを起点にリージョン間のデータ同期をとる方式でGO
• Cross-Region-Replication ホントウニアリガトウ
• でも...東京リージョンにはGlo(ry
• Global Tableは利用せず、awslabsのdynamodb-cross-region-libraryを利用
• ただし同期開始前のデータの移送には考慮が必要(※)
• Live Stream data はDynamoDB Streams経由でCross-Region-Replicate
• Existing dataはDynamoDB Streamsのキューが失効する24時間以内になにかしらの方式でコピーして
おく必要がある
• Live Stream dataのキューを半永続化することでExisting dataの移送時間制約はなくなった
再掲 with 追記
17. Cross Region Replicationの話(4/5)
Global Tableは使いませんでした
• サービス制約と切り戻し時の想定シナリオが合致しなかった
• Global Tableを設定する2つ以上のテーブルはそれぞれのデータ件数が0でなければならない
• DR発動時はメイン側は空っぽ(or障害により少なくとも再作成)・DR側はデータありの状態となり、そ
こからGlobal Tableを作成することができない
東京リージョン
シンガポールリージョン
両方
データ0件
障害発生!!
シンガポール側は
データn件
18. Cross Region Replicationの話(5/5)
(おまけ)Data Pipelineはとても優秀な子でした
• DynamoDBのexport/import機能がとても便利
• 調査等で多量データを一括取得したくなった際都度厄介になってくるのがCU
• プログラム側でうまく意識してあげないとすぐスロットリング発生
• Data PipelineはCU使用率を設定するとその範囲内で稼働してくれるのでうれしい
• とはいえ今はOn DemandなCU設定があるのでそちらを使えばスロットリングの悩みはなくなるはず
export import
24. データ再インデクシングの話(2/4)
Analyzer定義の変更 → データ再インデクシング
• 本番稼働後の追加要件でanalyzer定義の変更が必要になり、データ再インデクシン
グに踏み切った
• ↓↓のような手順で実施
index
①既存indexの
snapshotを取得
②Snapshotから別名
でリストア
③既存indexを削除 ④定義変更後の
indexを新規作成
⑤再インデクシング
index
restored restored restored
new
restored
new
25. データ再インデクシングの話(3/4)
Analyzer定義の変更 → データ再インデクシング
• 実績値
• 約30万件(1件約50k, トータル14.5G)相当のデータを再インデクシング
• ②のリストアは1分程度
• ⑤の再インデクシングは10分程度
index
①既存indexの
snapshotを取得
②Snapshotから別名
でリストア
③既存indexを削除 ④定義変更後の
indexを新規作成
⑤再インデクシング
index
restored restored restored
new
restored
new
28. まとめ
• アーキテクチャ
• DynamoDBとAmazon ESが各々の弱いところを補完しあってくれた
• マネージドサービスを使うことで、制約もあったが運用面でのメリットをしっかり享受できた
• Cross Region Replication
• Global Tableは使えなかったけど、awslabsのライブラリにすごく助けられた
• CUとスロットリング
• Auto scaling使う場合は、しきい値をチューニングすること
• データ再インデクシング
• できればもうやりたくない笑
• Staticなsettingについてはしっかり固めておくのが吉
30. We are hiring !!! ~面白い仕事がたくさんあるよ~
Future、こんな仕事やってます!
• 大手メディア企業様向けの新基幹システム開発
• AWS!
• DynamoDBやAmazon ESなどマネージドサービスを活用
• GoでAPI開発
• モビリティIoTプラットフォーム開発
• AWS!
• Glueを用いたETL処理
• AIで画像解析したり、音声認識も取り組んでいます
• 最近はGCP案件も増えてきています
31. We are hiring !!! ~興味を持った方はぜひ!~
どこに応募していいか
分からない
ポジションマッチング(複数のコンサルタント職種に興味のある方向け)
やりたいことが明確 テクノロジースペシャリスト、ITコンサルタントなど
第2新卒の採用も始めました!!
32. We are hiring !!! ~会社紹介イベントもやってます~
開催
2019年 2月23日(土曜日)13:30~(受付13:15)
※16:00終了予定
会場 本社 アートヴィレッジ大崎セントラルタワー(受付14階)
プログラム
1.フューチャーアーキテクトのご紹介
2.先輩社員によるコンサルタントの働き方
具体的な仕事(プロジェクト)の中身
3.コンサルタントとの座談会
オフィス見学したい!!も大歓迎